<template>
  <div>
    <upload-excel :on-success="success"></upload-excel>
  </div>
</template>

<script>
// import user from "@/store/modules/user";
import { importEmployee } from "@/api/employees";
export default {
  methods: {
    async success({ header, results }) {
      // debugger;
      // 如果是导入员工
      const userRelations = {
        入职日期: "timeOfEntry",
        手机号: "mobile",
        姓名: "username",
        转正日期: "correctionTime",
        工号: "workNumber"
      };
      // const arr = [];
      // results.forEach(item => {
      //   // Object.keys(item) 是results的角标
      //   // console.log(Object.keys(item)); 接下来的操作就是把中文的角标转化为英文
      //   const userInfo = {};
      //   Object.keys(item).forEach(key => {
      //     // 这句话的意思就是   userRelations[key]他的值是英文
      //     // 看好了 userInfo[mobile]=13982706436 换句话说 就是 key值 加 value 创建了一个新的结构
      //     userInfo[userRelations[key]] = item[key];

      //   });
      //   arr.push(userInfo);
      //   console.log("userInfo", userInfo);
      //   console.log(arr);
      // });
      // map 遍历results item就是整个对象
      var new1 = results.map(item => {
        // console.log("item", item);
        //入职日期: 43535     item代表一个对象的所有数据
        // 姓名: "高大山"
        // 工号: 20089
        // 手机号: 13041139879
        // 转正日期: 43719
        const userInfo = {};
        // 枚举属性组成的数组 Object.keys(item)
        Object.keys(item).forEach(key => {
          // console.log(key, "key"); 姓名 key key 代表属性  item[key] 就是属性值
          if (userRelations[key] === "timeOfEntry" || "correctionTime") {
            userInfo[userRelations[key]] = new Date(
              this.formatDate(item[key]),
              "/"
            );
          } else {
            userInfo[userRelations[key]] = item[key];
          }
        });
        return userInfo;
      });
      // console.log("new1", new1);

      await importEmployee(new1);
      this.$message("恭喜你 导入excel成功了");
      this.$router.back();
    },
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1);
      time.setYear(time.getFullYear() - 70);
      const year = time.getFullYear() + "";
      const month = time.getMonth() + 1 + "";
      const date = time.getDate() - 1 + "";
      if (format && format.length === 1) {
        return year + format + month + format + date;
      }
      return (
        year +
        (month < 10 ? "0" + month : month) +
        (date < 10 ? "0" + date : date)
      );
    }
  }
};
</script>

<style></style>
